home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #260 (1993)(Rhein-Sieg-Soft).zip / Franz PD Disk #260 (1993)(Rhein-Sieg-Soft).adf / MÄXJE / Mäxje2 (.txt) < prev    next >
AmigaBASIC Source Code  |  1993-08-06  |  18KB  |  800 lines

  1. REM *** MÄXJE2 *** HP Biehl ***
  2. REM *** Juni 1993 ***
  3. DIM ps1(12),ps2(12)
  4. s$="Amiga1 Mensch1Amiga2 Mensch2"
  5.  
  6. Anfang:
  7. COLOR 1,0:CLS
  8. PALETTE 0,0,0,0
  9. PALETTE 1,0.9,0.9,0
  10. PALETTE 2,0,0,1
  11. LOCATE 2,31:PRINT "MÄXJE von HP BIEHL"
  12. COLOR 3,0:LOCATE 3,31
  13. PRINT "~~~~~~~~~~~~~~~~~~"
  14. COLOR 1,2
  15.  LOCATE 5,24:PRINT "                                "
  16.  LOCATE 6,24:PRINT "       neues Spiel starten      "
  17.  LOCATE 7,24:PRINT "                                "
  18.  LOCATE 10,24:PRINT "                                "
  19.  LOCATE 11,24:PRINT " gespeichertes Spiel fortsetzen "
  20.  LOCATE 12,24:PRINT "                                "
  21.  LOCATE 15,24:PRINT "                                "
  22.  LOCATE 16,24:PRINT "      zurück ins Hauptmenü      "
  23.  LOCATE 17,24:PRINT "                                "
  24. COLOR 3,0:LOCATE 20,24
  25. PRINT "Bitte entsprechendes anklicken!"
  26. LINE(185,32)-(440,55),3,b
  27. LINE(185,72)-(440,95),3,b
  28. LINE(185,112)-(440,135),3,b
  29. auswahl:
  30.  WHILE MOUSE(0)=0:WEND
  31.  IF MOUSE(1)<185 OR MOUSE(1)>440 THEN auswahl
  32.  IF MOUSE(2)>31 AND MOUSE(2)<56 THEN auswahl1
  33.  IF MOUSE(2)>71 AND MOUSE(2)<96 THEN auswahl2
  34.  IF MOUSE(2)>111 AND MOUSE(2)<136 THEN auswahl3
  35.  GOTO auswahl
  36. auswahl1:
  37.  COLOR 2,1
  38.  LOCATE 5,24:PRINT "                                "
  39.  LOCATE 6,24:PRINT "       neues Spiel starten      "
  40.  LOCATE 7,24:PRINT "                                "
  41.  GOTO Einstellungen
  42. auswahl2:
  43.  COLOR 2,1
  44.  LOCATE 10,24:PRINT "                                "
  45.  LOCATE 11,24:PRINT " gespeichertes Spiel fortsetzen "
  46.  LOCATE 12,24:PRINT "                                "
  47.  GOTO fortsetz
  48. auswahl3: 
  49.  COLOR 2,1
  50.  LOCATE 15,24:PRINT "                                "
  51.  LOCATE 16,24:PRINT "      zurück ins Hauptmenü      "
  52.  LOCATE 17,24:PRINT "                                "
  53.  CHAIN"Mäxje"
  54.   
  55. fortsetz:
  56.   OPEN"I",#1,"MaexjeSave"
  57.   FOR pu=1 TO 12
  58.    INPUT #1,ps1(pu):INPUT #1,ps2(pu)
  59.   NEXT pu
  60.   FOR pu=1 TO 4
  61.    INPUT #1,gt(pu):INPUT #1,gmt(pu)
  62.    INPUT #1,gspi(pu):INPUT #1,gmpunk(pu)
  63.   NEXT pu
  64.   INPUT #1,Spiel:INPUT #1,maxpu
  65.   CLOSE #1
  66.   IF Spiel=0 THEN
  67.    CLS:LOCATE 10,25
  68.    PRINT "Es ist kein Spiel gespeichert!"
  69.    LOCATE 12,27:PRINT "Mausklick für neues Spiel!"
  70.    FOR wart=1 TO 400:NEXT wart
  71.    WHILE MOUSE(0)=0:WEND
  72.    GOTO Einstellungen
  73.   END IF
  74.   GOTO Spiel
  75.   
  76. Einstellungen:
  77.   SCREEN 1,320,200,3,1
  78.   WINDOW 2,"Einstellungen",,16,1
  79.   PALETTE 0,0.8,0.8,0.4
  80.   PALETTE 1,0,0.2,0.2
  81.   okx1=265:okx2=297
  82.   oky1=152:oky2=176
  83.   
  84. EndeEinst:
  85.   COLOR 1,0:CLS:EinstEnd=5
  86.   LOCATE 3,14:PRINT "Spielende bei"
  87.   LOCATE 11,17:PRINT "Punkten"
  88.   COLOR 1,3
  89.   LOCATE 20,34:PRINT "    "
  90.   LOCATE 21,34:PRINT " ok "
  91.   LOCATE 22,34:PRINT "    "
  92.   enty1=40:enty2=64
  93.   entx1=17:entx2=57
  94.   entx3=65:entx4=105
  95.   entx5=113:entx6=153
  96.   entx7=161:entx8=201
  97.   entx9=209:entx10=249
  98.   entx11=257:entx12=297
  99.   GOSUB EndeEinst2
  100.   IF MOUSE(0)=1 THEN FOR wart=1 TO 100:NEXT wart
  101.  
  102. EndeEinst1:  
  103.   WHILE MOUSE(0)=0:WEND
  104.   m1=MOUSE(1):m2=MOUSE(2)
  105.   IF m1>okx1 AND m1<okx2 AND m2>oky1 AND m2<oky2 THEN
  106.    maxpu=EinstEnd:GOTO Spiel
  107.   END IF
  108.   IF m2<enty1 OR m2>enty2 THEN EndeEinst1
  109.   EinstEnd=0
  110.   IF m1>entx1 AND m1<entx2 THEN EinstEnd=5
  111.   IF m1>entx3 AND m1<entx4 THEN EinstEnd=6
  112.   IF m1>entx5 AND m1<entx6 THEN EinstEnd=7
  113.   IF m1>entx7 AND m1<entx8 THEN EinstEnd=8
  114.   IF m1>entx9 AND m1<entx10 THEN EinstEnd=9
  115.   IF m1>entx11 AND m1<entx12 THEN EinstEnd=10  
  116.   IF EinstEnd=0 THEN EndeEinst1
  117.   GOSUB EndeEinst2
  118.   GOTO EndeEinst1
  119.  
  120. EndeEinst2:
  121.   FOR el=3 TO 33 STEP 6
  122.   COLOR 1,6
  123.   IF EinstEnd=(el+3)/6+4 THEN COLOR 1,5
  124.   LOCATE 6,el:PRINT "     "
  125.   LOCATE 7,el:PRINT USING " ##  ";(el+3)/6+4
  126.   LOCATE 8,el:PRINT "     "
  127.   NEXT el
  128.   RETURN
  129.   
  130. Spiel:
  131.  maxSpieler=4
  132.  SCREEN 2,640,200,3,2
  133.  WINDOW 2,"Mäxje 2.0",,16,2
  134.  WINDOW OUTPUT 1:CLS:LOCATE 8,2
  135.  PRINT "Zum fortsetzen":PRINT 
  136.  PRINT " 1. Linke Maustaste in diesem Fenster klicken"
  137.  PRINT " 2. Mit der rechten Maustaste im Pulldown-Menü RUN Continue anwählen"
  138.  PRINT 
  139. WINDOW 2
  140. PALETTE 1,0.46,0,0
  141. PALETTE 0,1,1,0.7
  142. PALETTE 2,0.46,0,0
  143. PALETTE 3,1,0.6,0.4
  144. PALETTE 4,0.6,1,0.6
  145. LOCATE 3,2:PRINT "Amiga1:"
  146. LOCATE 4,2:PRINT "Mensch1:"
  147. IF maxSpieler>2 THEN LOCATE 5,2:PRINT "Amiga2:"
  148. IF maxSpieler>3 THEN LOCATE 6,2:PRINT "Mensch2:"
  149. FOR maxp=1 TO maxpu
  150. LINE (79,16)-(80+maxp*15,24),1,b
  151. LINE (79,24)-(80+maxp*15,32),1,b
  152. IF maxSpieler>2 THEN LINE (79,32)-(80+maxp*15,40),1,b
  153. IF maxSpieler>3 THEN LINE (79,40)-(80+maxp*15,48),1,b
  154. NEXT maxp
  155. wp=470:RANDOMIZE TIMER
  156. gwpo1=39:gwl1=66
  157. gwpo2=63:gwl2=79
  158. gwpo3=87:gwl3=92
  159. WRahmen:
  160.  FOR wa=5 TO 125 STEP 24
  161.  LINE (wp-2,wa+1)-(wp,wa),1
  162.  LINE -(wp+32,wa),1:LINE -(wp+34,wa+1)
  163.  LINE (wp-2,wa+19)-(wp,wa+20)
  164.  LINE -(wp+32,wa+20):LINE -(wp+34,wa+19)
  165.  LINE (wp-2,wa+2)-(wp-2,wa+19)
  166.  LINE (wp+34,wa+2)-(wp+34,wa+19)
  167.  NEXT wa
  168.  w6=10
  169. WPunkte: 
  170.  w5=w6+24:w4=w6+48
  171.  w3=w6+72:w2=w6+96:w1=w6+120
  172.  LINE (wp+6,w6)-(wp+7,w6)
  173.  LINE (wp+16,w6)-(wp+17,w6)
  174.  LINE (wp+26,w6)-(wp+27,w6)
  175.  LINE (wp+6,w5)-(wp+7,w5)
  176.  LINE (wp+26,w5)-(wp+27,w5)
  177.  LINE (wp+16,w5+5)-(wp+17,w5+5)
  178.  LINE (wp+6,w4)-(wp+7,w4)
  179.  LINE (wp+26,w4)-(wp+27,w4)
  180.  IF w6=10 THEN
  181.    LINE (wp+26,w3)-(wp+27,w3)
  182.    LINE (wp+26,w2)-(wp+27,w2)
  183.  END IF
  184.  IF w6=20 THEN
  185.    LINE (wp+6,w3)-(wp+7,w3)
  186.    LINE (wp+6,w2)-(wp+7,w2)
  187.  END IF  
  188.  LINE (wp+16,w3+5)-(wp+17,w3+5)
  189.  LINE (wp+16,w1+5)-(wp+17,w1+5)
  190. IF w6=10 THEN w6=20:GOTO WPunkte
  191. IF wp=470 THEN wp=530:GOTO WRahmen
  192. FOR wfa=12 TO 132 STEP 24
  193. PAINT (480,wfa),3,1
  194. PAINT (540,wfa),3,1
  195. NEXT wfa
  196.  
  197. FOR wgp=20 TO 131 STEP 111
  198. LINE (wgp,60)-(wgp,100)
  199. LINE -(wgp+6,103):LINE -(wgp+86,103)
  200. LINE -(wgp+92,100):LINE -(wgp+92,60)
  201. LINE -(wgp+86,57):LINE -(wgp+6,57)
  202. LINE -(wgp,60)
  203. NEXT wgp
  204. Beginn:
  205.  Spiel=Spiel+1
  206.  IF Spiel=4 OR Spiel=10 THEN SpiHuma=1
  207.  IF Spiel=1 OR Spiel=3 OR Spiel=11 THEN spieler=1
  208.  IF Spiel=4 OR Spiel=7 OR Spiel=12 THEN spieler=2
  209.  IF Spiel=2 OR Spiel=6 OR Spiel=9 THEN spieler=3
  210.  IF Spiel=5 OR Spiel=8 OR Spiel=10 THEN spieler=4
  211.  
  212. NeuRund:
  213.   WAnz=0:Wlast=0:maex=0:wert=0
  214.   LINE (80,17)-(79+punkte(1)*15,23),5,bf
  215.   LINE (80,25)-(79+punkte(2)*15,31),5,bf
  216.   IF maxSpieler>2 THEN LINE (80,33)-(79+punkte(3)*15,39),5,bf
  217.   IF maxSpieler>3 THEN LINE (80,41)-(79+punkte(4)*15,47),5,bf
  218.   IF punkte(1)=maxpu OR punkte(2)=maxpu OR punkte(3)=maxpu OR punkte(4)=maxpu THEN tabell
  219.   IF punkte(1)+punkte(2)+punkte(3)+punkte(4)=maxpu*2-2 THEN tabell
  220.   
  221. NeuWurf:
  222.   wurf=0
  223.   WAnz=WAnz+1:Wlast=wert:gf=0
  224.   Complueg=0:WAnsa1=0:WAnsa2=0
  225.   GOSUB anderReihe
  226.   IF spieler=1 OR spieler=3 THEN CompAnsag
  227.   IF SpiHuma=1 THEN GOSUB Wegguck
  228. WWurf:
  229.  gf=0
  230.  GOSUB entscheidweg
  231.  LINE (gwpo1,gwl1)-(gwpo3+5,gwl3+2),wuefa,bf
  232.  LINE (gwpo1+111,gwl1)-(gwpo3+116,gwl3+3),wuefa,bf
  233.  PAINT (gwpo1-1,gwl1-1),2,1
  234.  PAINT (gwpo1+110,gwl1-1),2,1
  235.  FOR sou=1 TO 50
  236.   SOUND 600,0.1,255,0
  237.  NEXT sou
  238.  FOR ww=1 TO 2
  239.   gwp1=gwpo1
  240.   gwp2=gwpo2
  241.   gwp3=gwpo3
  242.   IF ww=2 THEN
  243.     gwp1=gwpo1+111
  244.     gwp2=gwpo2+111
  245.     gwp3=gwpo3+111
  246.   END IF
  247.   wurf=INT(RND(1)*6)+1
  248.   ON wurf GOSUB Eins,Zwei,Eins,Vier,Vier,Vier
  249.   IF ww=1 THEN wurf1=wurf :ELSE wurf2=wurf
  250.  NEXT ww
  251.  IF spieler=1 OR spieler=3 THEN CompAnsag1
  252.  IF spieler=2 OR spieler=4 THEN aufd=1:GOTO aufdeck
  253. Entscheid:
  254.  IF MOUSE(0)>0 THEN FOR wart=1 TO 100:NEXT wart
  255.  IF SpiHuma=0 THEN GOSUB wechsel
  256.  IF SpiHuma=1 THEN
  257.    PAINT (gwpo1-1,gwl1-1),2,1
  258.    PAINT (gwpo1+110,gwl1-1),2,1
  259.    GOSUB Hinguck
  260.  END IF
  261.  GOSUB anderReihe
  262.  IF spieler=1 OR spieler=3 THEN GOSUB WMarkweg
  263.  IF spieler=1 OR spieler=3 THEN CompAnsag
  264.  COLOR 1,5
  265.  LOCATE 16,4:PRINT "           "
  266.  LOCATE 17,4:PRINT " Aufdecken "
  267.  LOCATE 18,4:PRINT "           "
  268.  LOCATE 16,18:PRINT "           "
  269.  LOCATE 17,18:PRINT "  Würfeln  "
  270.  LOCATE 18,18:PRINT "           "
  271. Entscheid1: 
  272.  WHILE MOUSE(0)=0:WEND
  273.  IF MOUSE(2)<120 OR MOUSE(2)>144 THEN Entscheid1
  274.  IF MOUSE(1)<26 OR MOUSE(1)>226 THEN Entscheid1
  275.  IF MOUSE(1)<115 THEN
  276.   aufd=0
  277.   IF SpiHuma=1 THEN GOSUB WMarkweg
  278.   GOTO aufdeck
  279.  END IF 
  280.  wuefa=2
  281.  IF MOUSE(1)>138 THEN
  282.   IF SpiHuma=1 THEN GOSUB WMarkweg
  283.   GOTO NeuWurf
  284.  END IF
  285.  GOTO Entscheid1
  286.  
  287. CompAnsag:
  288.    IF wurf>0 THEN Glaubensfrage
  289.    IF Spiel<>9 AND Spiel<>3 THEN Glaubensfrage :ELSE WWurf
  290. CompAnsag1:   
  291.    IF gf=1 THEN WWurf
  292.    Complueg=0:lueg=0
  293.    IF wurf1=1 AND wurf2=2 THEN Maexje
  294.    IF wurf1=2 AND wurf2=1 THEN Maexje
  295.    wu1=wurf1:wu2=wurf2
  296.    GOSUB WWert
  297.    IF wert<42 OR wert<Wlast THEN luegen
  298.    caw1=(6-wur1)*24+7
  299.    caw2=(6-wur2)*24+7
  300.    PAINT(wp-59,caw1),4,1
  301.    PAINT(wp+1,caw2),4,1
  302.    GOTO Entscheid
  303.  
  304. luegen:
  305.   IF Wlast>100 THEN 
  306.     wu1=INT(RND(1)*(7-(Wlast-100)/11))+(Wlast-100)/11
  307.     wu2=wu1
  308.   ELSE
  309.     wu1=INT(RND(1)*6)+1
  310.     wu2=INT(RND(1)*6)+1
  311.   END IF
  312.   GOSUB WWert
  313.   IF wert<Wlast THEN luegen
  314.   IF Wlast<100 AND wert>100 THEN
  315.     IF INT(RND(1)*2)=1 THEN luegen
  316.   END IF
  317.   IF wert<42 THEN luegen
  318.   caw1=(6-wur1)*24+7
  319.   caw2=(6-wur2)*24+7
  320.   PAINT(wp-59,caw1),4,1
  321.   PAINT(wp+1,caw2),4,1
  322.   Complueg=spieler
  323.   GOTO Entscheid
  324.    
  325. Glaubensfrage:
  326.   Glauben=INT(RND(1)*100)+1:gf=1
  327. IF Spiel=3 OR Spiel=9 THEN Cocoglauben
  328.   IF wert<50 THEN
  329.    IF Glauben>=5*WAnz-16 THEN CompAnsag1 :ELSE nichtglauben
  330.   END IF
  331.   IF wert<60 THEN
  332.    IF Glauben>=6*WAnz-14+(wert-42)*2+(Wlast-42)*2 THEN CompAnsag1 :ELSE nichtglauben
  333.   END IF
  334.   IF wert<100 THEN
  335.    IF Glauben>=8*WAnz-22+(wert-56)*5+(Wlast-52)*4 THEN CompAnsag1 :ELSE nichtglauben
  336.   END IF
  337.   IF Glauben>9*WAnz-26+(wert-100)/4+80+(Wlast-62)*5 THEN CompAnsag1 :ELSE nichtglauben
  338. Cocoglauben:  
  339.   IF wert<50 THEN
  340.    IF Glauben>=5*WAnz-16 THEN NeuWurf :ELSE nichtglauben
  341.   END IF
  342.   IF wert<60 THEN
  343.    IF Glauben>=5*WAnz-12+(wert-42)*2+(Wlast-42)*2 THEN NeuWurf :ELSE nichtglauben
  344.   END IF
  345.   IF wert<100 THEN
  346.    IF Glauben>=5*WAnz-19+(wert-56)*5+(Wlast-52)*4 THEN NeuWurf :ELSE nichtglauben
  347.   END IF
  348.   IF Glauben>8*WAnz-24+(wert-100)/4+80+(Wlast-62)*5 THEN NeuWurf
  349. nichtglauben:
  350.  GOSUB Glaubenachricht
  351.  GOTO aufdeck
  352.  
  353. Maexje:
  354.  FOR sou=300 TO 360 STEP 20
  355.  SOUND sou,8,250
  356.  NEXT sou
  357.  maex=1:aufd=0
  358.  GOSUB wechsel
  359.  punkte(spieler)=punkte(spieler)+1
  360.  GOTO aufdeck
  361. WWert:
  362.   wur1=wu1:wur2=wu2
  363.   IF wu1=wu2 THEN wert=100+10*wu1+wu2
  364.   IF wu1>wu2 THEN wert=wu1*10+wu2
  365.   IF wu1<wu2 THEN wert=wu1+wu2*10:wur1=wu2:wur2=wu1
  366.   RETURN
  367. aufdeck: 
  368.  GOSUB entscheidweg
  369.  GOSUB Nachrichtweg
  370.  IF WAnz<>1 THEN GOSUB WMarkweg
  371.  IF SpiHuma<>1 AND spieler<>1 AND spieler<>3 AND WAnz=1 AND wert>0 THEN GOSUB WMarkweg
  372.  PAINT (gwpo1-1,gwl1-1),3,1
  373.  PAINT (gwpo1+110,gwl1-1),3,1
  374.  IF aufd=1 THEN Ansagen1
  375.  IF maex=1 THEN NeuRund
  376.  IF Complueg=1 OR Complueg=3 THEN
  377.     punkte(Complueg)=punkte(Complueg)+1
  378.     spieler=Complueg/2+4.5
  379.  END IF
  380.  IF Complueg=0 AND lueg=0 AND spieler=4 THEN punkte(4)=punkte(4)+1
  381.  IF Complueg=0 AND lueg=0 AND spieler=2 THEN punkte(2)=punkte(2)+1
  382.  IF lueg=2 OR lueg=4 THEN punkte(lueg)=punkte(lueg)+1:spieler=lueg
  383.  IF lueg=0 AND spieler=1 THEN punkte(1)=punkte(1)+1
  384.  IF lueg=0 AND spieler=3 THEN punkte(3)=punkte(3)+1
  385.  IF spieler=5 THEN spieler=1
  386.  IF spieler=6 THEN spieler=3
  387.  GOTO NeuRund  
  388.  
  389. Ansagen1:
  390.  IF wurf1=1 AND wurf2=2 THEN Maexje
  391.  IF wurf1=2 AND wurf2=1 THEN Maexje
  392.  wpa=wp-59:WAnsa1=0:aufd=0
  393.  GOSUB AnsagNachricht
  394.  IF MOUSE(0)>0 THEN FOR wart=1 TO 250:NEXT wart
  395.  WHILE MOUSE(0)=0:WEND
  396.  IF MOUSE(1)<wpa-1 OR MOUSE(1)>wpa+39 THEN Ansagen1
  397.  IF MOUSE(2)>6 AND MOUSE(2)<24 THEN
  398.    PAINT (wpa,7),4,1
  399.    WAnsa1=6
  400.  END IF
  401.  IF MOUSE(2)>30 AND MOUSE(2)<48 THEN
  402.    PAINT (wpa,31),4,1
  403.    WAnsa1=5
  404.  END IF
  405.  IF MOUSE(2)>54 AND MOUSE(2)<72 THEN
  406.    PAINT (wpa,55),4,1
  407.    WAnsa1=4
  408.  END IF
  409.  IF MOUSE(2)>78 AND MOUSE(2)<96 THEN
  410.    PAINT (wpa,79),4,1
  411.    WAnsa1=3
  412.  END IF
  413.  IF MOUSE(2)>102 AND MOUSE(2)<120 THEN
  414.    PAINT (wpa,103),4,1
  415.    WAnsa1=2
  416.  END IF
  417.  IF MOUSE(2)>126 AND MOUSE(2)<144 THEN
  418.    PAINT (wpa,127),4,1
  419.    WAnsa1=1
  420.  END IF
  421.  GOSUB Nachrichtweg
  422.  IF WAnsa1=0 THEN Ansagen1
  423.  IF MOUSE(0)=1 THEN FOR wart=1 TO 100:NEXT wart 
  424. Ansagen2:
  425.  WAnsa2=0
  426.  WHILE MOUSE(0)=0:WEND
  427.  IF MOUSE(1)<wp OR MOUSE(1)>wp+40 THEN Ansagen2
  428.  IF MOUSE(2)>6 AND MOUSE(2)<24 AND WAnsa1>5 THEN
  429.    PAINT (wp+1,7),4,1
  430.    WAnsa2=6
  431.  END IF
  432.  IF MOUSE(2)>30 AND MOUSE(2)<48 AND WAnsa1>4 THEN
  433.    PAINT (wp+1,31),4,1
  434.    WAnsa2=5
  435.  END IF
  436.  IF MOUSE(2)>54 AND MOUSE(2)<72 AND WAnsa1>3 THEN
  437.    PAINT (wp+1,55),4,1
  438.    WAnsa2=4
  439.  END IF
  440.  IF MOUSE(2)>78 AND MOUSE(2)<96 AND WAnsa1>2 THEN
  441.    PAINT (wp+1,79),4,1
  442.    WAnsa2=3
  443.  END IF
  444.  IF MOUSE(2)>102 AND MOUSE(2)<120 AND WAnsa1>1 THEN
  445.    PAINT (wp+1,103),4,1
  446.    WAnsa2=2
  447.  END IF
  448.  IF MOUSE(2)>126 AND MOUSE(2)<144 THEN
  449.    PAINT (wp+1,127),4,1
  450.    WAnsa2=1
  451.  END IF
  452.  IF WAnsa2=0 THEN Ansagen2
  453.  wu1=WAnsa1:wu2=WAnsa2:GOSUB WWert
  454.  IF wert<Wlast THEN Gehtnich
  455. korrekt:
  456.  COLOR 1,5
  457.  LOCATE 20,59:PRINT "     "
  458.  LOCATE 21,59:PRINT " OK! "
  459.  LOCATE 22,59:PRINT "     "
  460.  LOCATE 20,67:PRINT "     "
  461.  LOCATE 21,67:PRINT " neu "
  462.  LOCATE 22,67:PRINT "     "
  463.  IF MOUSE(0)>0 THEN FOR wart=1 TO 300:NEXT wart
  464. korrekt1: 
  465.  WHILE MOUSE(0)=0:WEND
  466.  wuefa=3
  467.  lueg=spieler
  468.  IF WAnsa1=wurf1 AND WAnsa2=wurf2 THEN lueg=0
  469.  IF WAnsa1=wurf2 AND WAnsa2=wurf1 THEN lueg=0
  470.  IF MOUSE(1)<466 OR MOUSE(1)>565 THEN korrekt1
  471.  IF MOUSE(2)>175 OR MOUSE(2)<152 THEN korrekt1
  472.  IF MOUSE(1)<504 THEN
  473.    FOR wart=1 TO 100:NEXT wart
  474.    GOTO Spielerwechsel
  475.  END IF  
  476.  IF MOUSE(1)<528 THEN korrekt1
  477.  PAINT (wpa,151-24*WAnsa1),3,1
  478.  PAINT (wp+1,151-24*WAnsa2),3,1
  479.  GOSUB korrektweg
  480.  GOTO Ansagen1
  481.  
  482. Nachrichten:
  483.  
  484. Gehtnich:
  485.   COLOR 1,5
  486.   LOCATE 3,33:PRINT "  Du darfst nicht  "
  487.   LOCATE 4,33:PRINT "   unterbieten!    "
  488.   LOCATE 5,33:PRINT "   Also nochmal!   "
  489.   GOSUB WMarkweg
  490.   GOTO Ansagen1
  491. AnsagNachricht:
  492.   COLOR 1,5
  493.   LOCATE 3,33:PRINT "  Ansagen: Zuerst  "
  494.   LOCATE 4,33:PRINT "  die höhere Zahl  "
  495.   LOCATE 5,33:PRINT "  links anklicken! "
  496.   RETURN
  497. Glaubenachricht:
  498.   COLOR 1,5
  499.   LOCATE 3,33:PRINT "  Das glaube ich   "
  500.   LOCATE 4,33:PRINT "  Dir nicht! Ich   "
  501.   LOCATE 5,33:PRINT "  decke auf.       "
  502.   FOR wart=1 TO 1500:NEXT wart
  503.   RETURN
  504. Wegguck:
  505.   COLOR 1,5
  506.   LOCATE 3,33:PRINT "  Anderer Mensch  "
  507.   LOCATE 4,33:PRINT "  weggucken bis   "
  508.   LOCATE 5,33:PRINT "  zur Entwarnung  "
  509.   RETURN
  510. Hinguck:
  511.   COLOR 1,5
  512.   LOCATE 3,33:PRINT "   Jetzt darf er   "
  513.   LOCATE 4,33:PRINT "   wieder gucken,  "
  514.   LOCATE 5,33:PRINT " d.h. er muß sogar "
  515.   RETURN
  516.    
  517. Nachrichtweg:
  518.   COLOR 1,0
  519.   LOCATE 3,33:PRINT "                   "
  520.   LOCATE 4,33:PRINT "                   "
  521.   LOCATE 5,33:PRINT "                   "
  522.   RETURN
  523.      
  524. Spielerwechsel:
  525.    GOSUB korrektweg
  526.    GOSUB wechsel
  527.    IF SpiHuma=1 THEN Entscheid
  528.    GOSUB WMarkweg
  529.    GOTO NeuWurf
  530.    
  531. wechsel:
  532.    SpiHuma=0
  533.    spil=Spiel:IF spil>6 THEN spil=spil-6
  534.    IF spil>1 THEN wechsel2
  535.    IF spieler=1 THEN spieler=2 :ELSE spieler=1
  536.    RETURN
  537. wechsel2:
  538.    IF spil>2 THEN wechsel3 
  539.    IF spieler=3 THEN spieler=4 :ELSE spieler=3
  540.    RETURN
  541. wechsel3:
  542.    IF spil>3 THEN wechsel4
  543.    IF spieler=1 THEN spieler=3 :ELSE spieler=1
  544.    RETURN
  545. wechsel4:
  546.    IF spil>4 THEN wechsel5 
  547.    IF spieler=2 THEN spieler=4 :ELSE spieler=2
  548.    SpiHuma=1:RETURN
  549. wechsel5:
  550.    IF spil>5 THEN wechsel6
  551.    IF spieler=4 THEN spieler=1 :ELSE spieler=4
  552.    RETURN
  553. wechsel6: 
  554.    IF spieler=3 THEN spieler=2 :ELSE spieler=3
  555.    RETURN
  556.  
  557. WMarkweg:
  558.    IF WAnsa1>0 THEN caw1=151-24*WAnsa1
  559.    IF WAnsa2>0 THEN caw2=151-24*WAnsa2
  560.    PAINT(wp-59,caw1),3,1
  561.    PAINT(wp+1,caw2),3,1
  562.    RETURN
  563.      
  564. entscheidweg:
  565.  COLOR 1,0
  566.  LOCATE 16,4:PRINT "           "
  567.  LOCATE 17,4:PRINT "           "
  568.  LOCATE 18,4:PRINT "           "
  569.  LOCATE 16,18:PRINT "           "
  570.  LOCATE 17,18:PRINT "           "
  571.  LOCATE 18,18:PRINT "           "
  572.  RETURN
  573. korrektweg:
  574.  COLOR 1,0
  575.  LOCATE 20,59:PRINT "     "
  576.  LOCATE 21,59:PRINT "     "
  577.  LOCATE 22,59:PRINT "     "
  578.  LOCATE 20,67:PRINT "     "
  579.  LOCATE 21,67:PRINT "     "
  580.  LOCATE 22,67:PRINT "     "
  581.  RETURN
  582. anderReihe:
  583.   COLOR 1,0
  584.   LOCATE 1,2:PRINT MID$(s$,spieler*7-6,7);" ist dran. "
  585.   RETURN    
  586. Eins:
  587.   LINE (gwp2,gwl2)-(gwp2+5,gwl2+2),1,bf
  588.   IF wurf=1 THEN RETURN
  589. Zwei:
  590.   LINE (gwp1,gwl3)-(gwp1+5,gwl3+2),1,bf
  591.   LINE (gwp3,gwl1)-(gwp3+5,gwl1+2),1,bf
  592.   RETURN
  593. Vier:
  594.   LINE (gwp1,gwl1)-(gwp1+5,gwl1+2),1,bf
  595.   LINE (gwp1,gwl3)-(gwp1+5,gwl3+2),1,bf
  596.   LINE (gwp3,gwl1)-(gwp3+5,gwl1+2),1,bf
  597.   LINE (gwp3,gwl3)-(gwp3+5,gwl3+2),1,bf
  598.   IF wurf=4 THEN RETURN
  599.   IF wurf=6 THEN Sechs
  600. Fuenf:
  601.   LINE (gwp2,gwl2)-(gwp2+5,gwl2+2),1,bf
  602.   RETURN
  603. Sechs:
  604.   LINE (gwp2,gwl1)-(gwp2+5,gwl1+2),1,bf
  605.   LINE (gwp2,gwl3)-(gwp2+5,gwl3+2),1,bf
  606.   RETURN
  607.   
  608. tabell:
  609.   WINDOW 3," Spiele + Tabelle",,16,2
  610.   IF Spiel=1 OR Spiel=7 THEN 
  611.    punkte(3)=-1:punkte(4)=-1
  612.    gt(1)=gt(1)+punkte(2)
  613.    gt(2)=gt(2)+punkte(1)
  614.    gspi(1)=gspi(1)+1
  615.    gspi(2)=gspi(2)+1
  616.    ps1(Spiel)=punkte(1)
  617.    ps2(Spiel)=punkte(2)
  618.   END IF
  619.   IF Spiel=2 OR Spiel=8 THEN 
  620.    punkte(1)=-1:punkte(2)=-1
  621.    gt(3)=gt(3)+punkte(4)
  622.    gt(4)=gt(4)+punkte(3)
  623.    gspi(3)=gspi(3)+1
  624.    gspi(4)=gspi(4)+1
  625.    ps1(Spiel)=punkte(3)
  626.    ps2(Spiel)=punkte(4)
  627.   END IF
  628.   IF Spiel=3 OR Spiel=9 THEN 
  629.    punkte(2)=-1:punkte(4)=-1
  630.    gt(1)=gt(1)+punkte(3)
  631.    gt(3)=gt(3)+punkte(1)
  632.    gspi(1)=gspi(1)+1
  633.    gspi(3)=gspi(3)+1
  634.    ps1(Spiel)=punkte(1)
  635.    ps2(Spiel)=punkte(3)
  636.   END IF
  637.   IF Spiel=4 OR Spiel=10 THEN 
  638.    punkte(1)=-1:punkte(3)=-1
  639.    gt(4)=gt(4)+punkte(2)
  640.    gt(2)=gt(2)+punkte(4)
  641.    gspi(4)=gspi(4)+1
  642.    gspi(2)=gspi(2)+1
  643.    ps1(Spiel)=punkte(2)
  644.    ps2(Spiel)=punkte(4)
  645.   END IF
  646.   IF Spiel=5 OR Spiel=11 THEN 
  647.    punkte(2)=-1:punkte(3)=-1
  648.    gt(1)=gt(1)+punkte(4)
  649.    gt(4)=gt(4)+punkte(1)
  650.    gspi(1)=gspi(1)+1
  651.    gspi(4)=gspi(4)+1
  652.    ps1(Spiel)=punkte(4)
  653.    ps2(Spiel)=punkte(1)
  654.   END IF
  655.   IF Spiel=6 OR Spiel=12 THEN 
  656.    punkte(1)=-1:punkte(4)=-1
  657.    gt(3)=gt(3)+punkte(2)
  658.    gt(2)=gt(2)+punkte(3)
  659.    gspi(3)=gspi(3)+1
  660.    gspi(2)=gspi(2)+1
  661.    ps1(Spiel)=punkte(3)
  662.    ps2(Spiel)=punkte(2)
  663.   END IF
  664.   FOR pu=1 TO 4
  665.    IF punkte(pu)>=maxpu-1 THEN gmpunk(pu)=gmpunk(pu)+punkte(pu)+2-maxpu
  666.    IF punkte(pu)>0 THEN gmt(pu)=gmt(pu)+punkte(pu)
  667.    gpunk(pu)=gspi(pu)*2-gmpunk(pu)
  668.    td(pu)=gt(pu)-gmt(pu)
  669.   NEXT pu
  670.   LOCATE 2,2:PRINT "Amiga1  - Mensch1"
  671.   LOCATE 3,2:PRINT "Amiga2  - Mensch2"
  672.   LOCATE 4,2:PRINT "Amiga1  - Amiga2"
  673.   LOCATE 5,2:PRINT "Mensch1 - Mensch2"
  674.   LOCATE 6,2:PRINT "Mensch2 - Amiga1"
  675.   LOCATE 7,2:PRINT "Amiga2  - Mensch1"
  676.   LOCATE 2,37:PRINT "Mensch1 - Amiga1"
  677.   LOCATE 3,37:PRINT "Mensch2 - Amiga2"
  678.   LOCATE 4,37:PRINT "Amiga2  - Amiga1"
  679.   LOCATE 5,37:PRINT "Mensch2 - Mensch1"
  680.   LOCATE 6,37:PRINT "Amiga1  - Mensch2"
  681.   LOCATE 7,37:PRINT "Mensch1 - Amiga2"
  682.   FOR pu=1 TO 6
  683.    IF pu=Spiel THEN COLOR 3,0 :ELSE COLOR 1,0
  684.    LOCATE pu+1,22:PRINT ps2(pu);":";ps1(pu)
  685.   NEXT pu
  686.   FOR pu=7 TO 12
  687.    IF pu=Spiel THEN COLOR 3,0 :ELSE COLOR 1,0
  688.    LOCATE pu-5,57:PRINT ps1(pu);":";ps2(pu)
  689.   NEXT pu
  690. tabelle:
  691.   FOR pu=1 TO 4
  692.    platz(pu)=1:glp(pu)=0
  693.   NEXT pu
  694.   FOR pu=1 TO 3
  695.    FOR pla=pu+1 TO 4
  696.      IF gpunk(pu)>gpunk(pla) THEN
  697.        platz(pla)=platz(pla)+1
  698.        GOTO nextpla
  699.      END IF
  700.      IF gpunk(pla)>gpunk(pu) THEN
  701.        platz(pu)=platz(pu)+1
  702.        GOTO nextpla
  703.      END IF
  704.      IF gspi(pu)<gspi(pla) THEN
  705.        platz(pla)=platz(pla)+1
  706.        GOTO nextpla
  707.      END IF
  708.      IF gspi(pla)<gspi(pu) THEN
  709.        platz(pu)=platz(pu)+1
  710.        GOTO nextpla
  711.      END IF
  712.      IF td(pu)>td(pla) THEN
  713.        platz(pla)=platz(pla)+1
  714.        GOTO nextpla
  715.      END IF
  716.      IF td(pla)>td(pu) THEN
  717.        platz(pu)=platz(pu)+1
  718.        GOTO nextpla
  719.      END IF
  720.      IF gt(pu)>gt(pla) THEN
  721.        platz(pla)=platz(pla)+1
  722.        GOTO nextpla
  723.      END IF
  724.      IF gt(pla)>gt(pu) THEN
  725.        platz(pu)=platz(pu)+1
  726.        GOTO nextpla
  727.      END IF
  728.      glp(pla)=glp(pla)+1
  729. nextpla:
  730.    NEXT pla
  731.   NEXT pu
  732.   COLOR 5,0:LOCATE 14,14
  733.   PRINT "Sp.    Punkte    `Tore`   TD"
  734.   LOCATE 15,14
  735.   PRINT "----------------------------"
  736.   COLOR 1,0
  737.   FOR pu=1 TO 4
  738.    po=15+platz(pu)+glp(pu)
  739.    sp$=MID$(s$,pu*7-6,7)
  740.    LOCATE po,2
  741.    PRINT USING "#. \      \  #    ## - ##   ## : ##  ###";platz(pu);sp$;gspi(pu);gpunk(pu);gmpunk(pu);gt(pu);gmt(pu);td(pu)
  742.   NEXT pu  
  743. IF Spiel=12 THEN Schluss
  744.   COLOR 1,5
  745.   LOCATE 14,52:PRINT "-----------"
  746.   LOCATE 15,52:PRINT "  weiter   "
  747.   LOCATE 16,52:PRINT "-----------"
  748.   LOCATE 18,52:PRINT "-----------"
  749.   LOCATE 19,52:PRINT " speichern "
  750.   LOCATE 20,52:PRINT "-----------"
  751.   IF MOUSE(0)>0 THEN FOR wart=1 TO 300:NEXT wart
  752. weiter:
  753.   WHILE MOUSE(0)=0:WEND
  754.   IF MOUSE(1)<409 OR MOUSE(1)>497 THEN weiter
  755.   IF MOUSE(2)<129 AND MOUSE(2)>103 THEN naechstSpi
  756.   IF MOUSE(2)<161 AND MOUSE(2)>135 THEN Speich
  757.   GOTO weiter
  758. Schluss:
  759.   COLOR 1,5
  760.   LOCATE 16,52:PRINT "-----------"
  761.   LOCATE 17,52:PRINT "  E N D E  "
  762.   LOCATE 18,52:PRINT "-----------"
  763.   WHILE MOUSE(0)=0:WEND
  764.   IF MOUSE(1)<409 OR MOUSE(1)>497 THEN Schluss
  765.   IF MOUSE(2)<145 AND MOUSE(2)>119 THEN 
  766.    WINDOW CLOSE 3:CHAIN"Mäxje"
  767.   END IF
  768.   GOTO Schluss
  769.   
  770. Speich:
  771.   OPEN"O",#1,"MaexjeSave"
  772.   FOR pu=1 TO 12
  773.    WRITE #1,ps1(pu):WRITE #1,ps2(pu)
  774.   NEXT pu
  775.   FOR pu=1 TO 4
  776.    WRITE #1,gt(pu):WRITE #1,gmt(pu)
  777.    WRITE #1,gspi(pu):WRITE #1,gmpunk(pu)
  778.   NEXT pu
  779.   WRITE #1,Spiel:WRITE #1,maxpu
  780.   CLOSE #1
  781.   WINDOW CLOSE 3
  782.   CHAIN"Mäxje"
  783.   
  784. naechstSpi:  
  785.   WINDOW CLOSE 3
  786.   punkte(1)=0:punkte(2)=0:punkte(3)=0:punkte(4)=0
  787.   LINE (80,17)-(79+maxpu*15,47),0,bf
  788.   FOR maxp=1 TO maxpu
  789.    LINE (79,16)-(80+maxp*15,24),1,b
  790.    LINE (79,24)-(80+maxp*15,32),1,b
  791.    IF maxSpieler>2 THEN LINE (79,32)-(80+maxp*15,40),1,b
  792.    IF maxSpieler>3 THEN LINE (79,40)-(80+maxp*15,48),1,b
  793.   NEXT maxp
  794.   FOR caw=7 TO 127 STEP 24
  795.    PAINT (wp-59,caw),3,1
  796.    PAINT (wp+1,caw),3,1
  797.   NEXT caw
  798.   GOTO Beginn
  799.        
  800.